//  Copyright 2010 Todd Ditchendorf
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.

#import <ParseKit/TDReservedWord.h>
#import <ParseKit/PKToken.h>

static NSArray *sTDReservedWords = nil;

@interface TDReservedWord ()
+ (NSArray *)reservedWords;
@end

@implementation TDReservedWord

+ (NSArray *)reservedWords {
    return [[sTDReservedWords retain] autorelease];
}


+ (void)setReservedWords:(NSArray *)inWords {
    if (inWords != sTDReservedWords) {
        [sTDReservedWords autorelease];
        sTDReservedWords = [inWords copy];
    }
}


- (BOOL)qualifies:(id)obj {
    PKToken *tok = (PKToken *)obj;
    if (!tok.isWord) {
        return NO;
    }
    
    NSString *s = tok.stringValue;
    return [s length] && [[TDReservedWord reservedWords] containsObject:s];
}

@end
